有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Spring引导属性中为嵌套类设置日志记录级别

我试图分别为两个嵌套类记录器设置日志记录级别,例如,名为:

com.package.ParentClass$LoggerOnecom.package.ParentClass$LoggerTwo。在日志中添加记录器。用于这些确切记录器的xml文件工作正常,但在尝试为spring boot的logging.level属性组设置记录器时,它似乎没有任何效果

包含这些记录器的类将如下所示:

class ParentClass {

    private static Logger logger = LoggerFactory.getLogger(ParentClass.class);

    // code that uses ParentClass logger

    class LoggerOne {

        private static Logger logger = LoggerFactory.getLogger(LoggerOne.class);

        // code that uses LoggerOne logger


    }

    class LoggerTwo {

        private static Logger logger = LoggerFactory.getLogger(LoggerTwo.class);

        // code that uses LoggerTwo logger

    }

}

共 (1) 个答案

  1. # 1 楼答案

    解决方案as found on this GitHub issues comment是将logger类/子类包围在[]

    例如:

    logging:
      level:
        com.package.[ParentClass$LoggerOne]: INFO
        com.package.[ParentClass$LoggerTwo]: ERROR
        com.package.ParentClass: DEBUG
    

    这允许对父类和父类中包含的任何嵌套类的日志记录级别进行细粒度控制